package com.cleaningcloud.erp.mapper;

import com.cleaningcloud.erp.api.domain.ErpCommodityStockAlter;
import com.cleaningcloud.erp.domain.vo.ErpCommodityStockAlterVo;

import java.util.List;

/**
 * 库存商品数量变更记录Mapper接口
 *
 * @author cleaningcloud
 * @date 2025-02-19
 */
public interface ErpCommodityStockAlterMapper {
    /**
     * 查询库存商品数量变更记录
     *
     * @param wareCommodityNumberDayId 库存商品数量变更记录主键
     * @return 库存商品数量变更记录
     */
    ErpCommodityStockAlter selectErpCommodityStockAlterByWareCommodityNumberDayId(Long wareCommodityNumberDayId);

    /**
     * 查询库存商品数量变更记录列表
     *
     * @param erpCommodityStockAlter 库存商品数量变更记录
     * @return 库存商品数量变更记录集合
     */
    List<ErpCommodityStockAlter> selectErpCommodityStockAlterList(ErpCommodityStockAlter erpCommodityStockAlter);

    /**
     * 新增库存商品数量变更记录
     *
     * @param erpCommodityStockAlter 库存商品数量变更记录
     * @return 结果
     */
    int insertErpCommodityStockAlter(ErpCommodityStockAlter erpCommodityStockAlter);

    /**
     * 修改库存商品数量变更记录
     *
     * @param erpCommodityStockAlter 库存商品数量变更记录
     * @return 结果
     */
    int updateErpCommodityStockAlter(ErpCommodityStockAlter erpCommodityStockAlter);

    /**
     * 删除库存商品数量变更记录
     *
     * @param wareCommodityNumberDayId 库存商品数量变更记录主键
     * @return 结果
     */
    int deleteErpCommodityStockAlterByWareCommodityNumberDayId(Long wareCommodityNumberDayId);

    /**
     * 批量删除库存商品数量变更记录
     *
     * @param wareCommodityNumberDayIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteErpCommodityStockAlterByWareCommodityNumberDayIds(Long[] wareCommodityNumberDayIds);

    /**
     * 库存变更统计
     * @param erpCommodityStockAlter
     * @return
     */
    ErpCommodityStockAlterVo selectErpCommodityStockAlterStatics(ErpCommodityStockAlter erpCommodityStockAlter);

}
